<template>
  <el-card shadow="never" class="aui-card--fill">
    <div class="mod-IsSmsTemplate__issmstemplate">
      <el-form
        :inline="true"
        :model="dataForm"
        @keyup.enter.native="getDataList()"
      >
        <el-form-item>
          <el-input
            v-model="dataForm.templateName"
            placeholder="模板名称"
            clearable
          ></el-input>
        </el-form-item>
        <el-form-item>
          <el-button @click="getDataList()">{{ $t("query") }}</el-button>
        </el-form-item>
        <el-form-item>
          <!-- <el-button type="info" @click="exportHandle()">{{ $t('export') }}</el-button> -->
        </el-form-item>
        <el-form-item>
          <el-button
            v-if="$hasPermission('IsSmsTemplate:issmstemplate:save')"
            type="primary"
            @click="addOrUpdateHandle()"
            >{{ $t("add") }}</el-button
          >
        </el-form-item>
        <el-form-item>
          <el-button
            v-if="$hasPermission('IsSmsTemplate:issmstemplate:delete')"
            type="danger"
            @click="deleteHandle()"
            >{{ $t("deleteBatch") }}</el-button
          >
        </el-form-item>
      </el-form>
      <el-table
        v-loading="dataListLoading"
        :data="dataList"
        border
        @selection-change="dataListSelectionChangeHandle"
        style="width: 100%"
      >
        <el-table-column
          type="selection"
          header-align="center"
          align="center"
          width="50"
        ></el-table-column>
        <!-- <el-table-column prop="id" label="ID" header-align="center" align="center"></el-table-column> -->
        <el-table-column
          prop="templateCode"
          label="模板编码"
          header-align="center"
          align="center"
        ></el-table-column>
        <el-table-column
          prop="smsCode"
          label="短信编码"
          header-align="center"
          align="center"
        ></el-table-column>
        <el-table-column
          prop="templateTypeName"
          label="短信类型"
          header-align="center"
          align="center"
        ></el-table-column>
        <el-table-column
          prop="templateName"
          label="模板名称"
          header-align="center"
          align="center"
        ></el-table-column>
        <el-table-column
          prop="templateContent"
          label="模板内容"
          header-align="center"
          align="center"
        ></el-table-column>
        <el-table-column
          prop="templateRemark"
          label="短信模板申请说明"
          header-align="center"
          align="center"
        ></el-table-column>
        <el-table-column
          prop="templateStatusName"
          label="申请状态"
          header-align="center"
          align="center"
        ></el-table-column>
        <el-table-column
          prop="templateReason"
          label="审核备注"
          header-align="center"
          align="center"
        ></el-table-column>
        <!-- <el-table-column prop="status" label="'状态  0：停用    1：正常'" header-align="center" align="center"></el-table-column>
        <el-table-column prop="remark" label="备注" header-align="center" align="center"></el-table-column>
        <el-table-column prop="delFlag" label="'删除标识  0：未删除    1：删除'" header-align="center" align="center"></el-table-column>
        <el-table-column prop="creator" label="创建者" header-align="center" align="center"></el-table-column>
        <el-table-column prop="createDate" label="创建时间" header-align="center" align="center"></el-table-column>
        <el-table-column prop="updater" label="更新者" header-align="center" align="center"></el-table-column>
        <el-table-column prop="updateDate" label="更新时间" header-align="center" align="center"></el-table-column> -->
        <el-table-column
          :label="$t('handle')"
          fixed="right"
          header-align="center"
          align="center"
          width="240"
        >
          <template slot-scope="scope">
            <el-button type="text" size="small" @click="textSms(scope.row)"
              >发送短信</el-button
            >
            <el-button type="text" size="small" @click="synchronous(scope.row)"
              >同步审核状态</el-button
            >
            <el-button
              v-if="$hasPermission('IsSmsTemplate:issmstemplate:update')"
              type="text"
              size="small"
              @click="addOrUpdateHandle(scope.row.id)"
              >{{ $t("update") }}</el-button
            >
            <el-button
              v-if="$hasPermission('IsSmsTemplate:issmstemplate:delete')"
              type="text"
              size="small"
              @click="deleteHandle(scope.row.id)"
              >{{ $t("delete") }}</el-button
            >
          </template>
        </el-table-column>
      </el-table>
      <el-pagination
        :current-page="page"
        :page-sizes="[10, 20, 50, 100]"
        :page-size="limit"
        :total="total"
        layout="total, sizes, prev, pager, next, jumper"
        @size-change="pageSizeChangeHandle"
        @current-change="pageCurrentChangeHandle"
      >
      </el-pagination>
      <!-- 弹窗, 新增 / 修改 -->
      <add-or-update
        v-if="addOrUpdateVisible"
        ref="addOrUpdate"
        @refreshDataList="getDataList"
      ></add-or-update>
      <text-sms
        v-if="textSmsFlag"
        ref="textSms"
        @refreshDataList="getDataList"
      ></text-sms>
    </div>
  </el-card>
</template>

<script>
import mixinViewModule from "@/mixins/view-module";
import AddOrUpdate from "./issmstemplate-add-or-update";
import TextSms from "./textSms.vue";
export default {
  mixins: [mixinViewModule],
  data() {
    return {
      textSmsFlag: false,
      mixinViewModuleOptions: {
        getDataListURL: "/message/issmstemplate/page",
        getDataListIsPage: true,
        exportURL: "/message/issmstemplate/export",
        deleteURL: "/message/issmstemplate",
        deleteIsBatch: true,
      },
      dataForm: {},
    };
  },
  watch: {},
  components: {
    AddOrUpdate,
    TextSms,
  },
  methods: {
    queing(e) {
      const message =
        "您好，今天天气${weather}，请备好衣物。日期${today}，发送人为${sendPerson}，结束语${end}";
      const pattern = /\${(.*?)}/g;
      const matches = message.match(pattern);
      const contentArray = matches.map((match) =>
        match.substring(2, match.length - 1)
      );
    },
    textSms(e) {
      const message = e.templateContent;
      const pattern = /\${(.*?)}/g;
      const matches = message.match(pattern);
      const contentArray = matches.map((match) =>
        match.substring(2, match.length - 1)
      );
      this.textSmsFlag = true;
      this.$nextTick(() => {
        this.$refs.textSms.header = contentArray;
        // this.$refs.textSms.init()
      });
      // await this.synchronous(e);
      // await this.$http
      //   .get("/message/issmstemplate/send", e)
      //   .then(({ data: res }) => {
      //     if (res.msg == "success") {
      //       this.$message({
      //         message: res.msg,
      //         type: "success",
      //       });
      //     } else {
      //       this.$message({
      //         message: res.msg,
      //         type: "error",
      //       });
      //     }
      //   });
    },
    synchronous(e) {
      this.$http
        .get("/message/issmstemplate/sync/" + `${e.id}`)
        .then(({ data: res }) => {
          if (res.msg == "success") {
            this.$message({
              message: res.data,
              type: "success",
              duration: 500,
              onClose: () => {
                this.query();
              },
            });
          }
        });
    },
  },
};
</script>
